package com.huitong.common.mybatis.properties;

import com.huitong.common.mybatis.enums.EncodeType;
import com.huitong.common.mybatis.enums.EncryptType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 敏感字段加密自定义配置
 *
 * @author fromdrowning
 * @date 2024/4/11 12:09
 */
@Data
@ConfigurationProperties(prefix = "mybatis.encrypt")
public class EncryptCustomProperties {

    /**
     * 是否开启敏感字段加密 默认{@code false}
     */
    private boolean enabled = false;

    /**
     * 加密算法类型
     */
    private EncryptType encryptType;

    /**
     * 秘钥 AES SM4需要配置此项
     */
    private String secretKey;

    /**
     * 公钥 RSA SM2需要配置此项
     */
    private String publicKey;

    /**
     * 私钥 RSA SM2需要配置此项
     */
    private String privateKey;

    /**
     * 加密后的编码类型 Base64此项不起作用
     */
    private EncodeType encodeType;

}
